package com.tansun.easycare.rule.common.service;

import java.util.List;

import com.tansun.easycare.core.service.CrudService;
import com.tansun.easycare.rule.common.model.RuleSetParamInfo;
import com.tansun.easycare.rule.exception.BizException;
import com.tansun.easycare.rule.rulemange.entity.RuleManage;
import com.tansun.easycare.rule.ruleversion.entity.RuleVersioninfo;

public interface RuleBaseService<T> extends CrudService<T>{

    void insertBatch(List<T> list) throws BizException;

    void insertBatch(List<T> list, boolean isInsert) throws BizException;

    void insertBatch(List<T> list, String[] propertyNames, Object[] propertyValues) throws BizException;

    void insertBatch(List<T> list, String[] propertyNames, Object[] propertyValues, boolean isInsert) throws BizException;

    void updateVersion(RuleManage ruleManage) throws BizException;


    void copyRule(RuleManage oldRuleManage, RuleManage ruleManage) throws BizException;
    
    /**
     * 版本清理
     * @param rmList
     */
    void clearVersion(RuleManage rm,List<String> verArr);
    
    void updateSetParam(String manageId, RuleSetParamInfo newSetParamInfo, RuleSetParamInfo oldSetParamInfo, boolean setFlag) throws Exception;
    

}
